/*两个非负整数的高精度乘法模板*/
#include <iostream>
using namespace std;

const int N = 1e6 + 10;

int a[N], b[N], c[N];
int la, lb, lc;
// 高精度乘法(multiplication)
void mul(int c[], int a[], int b[])
{
    for(int i = 0; i < la; i++)
    {
        for(int j = 0; j < lb; j++)
        {
            c[i + j] += a[i] * b[j];
        }
    }
    // 处理进位
    for(int i = 0; i < lc; i++)
    {
        c[i + 1] += c[i] / 10;
        c[i] %= 10;
    }
    // 处理前导零（因为预留空间比较大）
    while(lc > 1 && c[lc - 1] == 0) lc--;
}
int main()
{
    // 以字符串形式输入
    string x, y; cin >> x >> y;

    // 1.先拆分每一位，逆序放在数组里
    la = x.size(); lb = y.size(); lc = la + lb; // 乘法分配的预留空间很大
    for(int i = 0; i < la; i++) a[la - 1 - i] = x[i] - '0';
    for(int i = 0; i < lb; i++) b[lb - 1 - i] = y[i] - '0';

    // 2.高精度乘法
    mul(c, a, b);

    // 3.输出结果
    for(int i = lc - 1; i >= 0; i--) cout << c[i];
    return 0;
}